// package关键字：声明这个Java文件属于哪个包(package)
// com.itheima.hello是一个三级包名，通常是公司域名的倒序
package com.itheima.hello;

// public关键字：表示这个类是公开的，可以被其他类访问
// class关键字：用于定义一个类
// HelloWorld是类名，遵循驼峰命名法（首字母大写）
// HelloWorld类的结束括号，标志着整个类定义的结束
// 大括号内包含类的所有内容
public class HelloWorld {
    // public：表示这个方法是公开的
    // static：表示这是一个静态方法，可以直接通过类名调用
    // void：表示这个方法没有返回值
    // main：方法名，这是Java程序的入口方法
    // String[] args：方法参数，是一个字符串数组，用于接收命令行参数
    // {}大括号内是方法体，包含要执行的代码
    public static void main(String[] args) {
        // System.out.println()：Java中用于输出文本到控制台的标准方法
        // System：Java的一个内置类
        // out：System类的一个静态成员变量，表示标准输出流（通常是控制台）
        // println：out对象的一个方法，用于打印文本并换行
        // "Hello World!"：要打印的字符串，用双引号括起来
        System.out.println("Hello World!");

        // 打印分隔线，用于在输出中分隔不同的内容
        // 再次打印分隔线
        System.out.println("--------------------------------");
        // 调用printHelloWorld()方法，这个方法会打印3行Hello World!
        printHelloWorld();

        System.out.println("--------------------------------");
        // 调用sum()方法计算1+2的和，并直接打印结果
        // sum(1, 2)：调用sum方法，传入两个参数1和2
        // 方法返回的结果会被println打印到控制台
        System.out.println(sum(1, 2));
        // main方法的结束括号，标志着main方法体的结束
        // printHelloWorld方法的结束括号
        // sum方法的结束括号
    }

    // 单行注释：说明下面方法的功能是打印3行HelloWorld
    /**
     * 这是文档注释（Documentation Comment）
     * 用于生成API文档
     * 说明printHelloWorld方法的功能
     */
    // public：表示这个方法是公开的
    // static：表示这是一个静态方法
    // void：表示这个方法没有返回值
    // printHelloWorld：方法名，描述了方法的功能
    // ()：方法的参数列表，这里是空的，没有参数
    public static void printHelloWorld() {
        // 打印第一行Hello World!
        System.out.println("Hello World!");
        // 打印第二行Hello World!
        System.out.println("Hello World!");
        // 打印第三行Hello World!
        System.out.println("Hello World!");
    }

    // 单行注释：说明下面方法的功能是计算任意两个整数的和
    // public：表示这个方法是公开的
    // static：表示这是一个静态方法
    // int：表示这个方法的返回值类型是整数
    // sum：方法名，表示求和的功能
    // (int a, int b)：方法的参数列表，接受两个整数参数a和b
    public static int sum(int a, int b) {
        // return关键字：用于返回方法的结果
        // a + b：计算a和b的和
        // 整个表达式表示返回两个整数的和
        return a + b;
    }
}
